/*
 * Consulta.cpp
 *
 *  Created on: Nov 11, 2013
 *      Author: damian
 */

#include "Consulta.h"

Consulta::Consulta() : Registro(-1) {
	this->idServicio=0;
	this->idUsuario=0;
	this->oculta=false;
}

Consulta::Consulta(unsigned int id) : Registro(id) {
	this->idServicio=0;
	this->idUsuario=0;
	this->oculta=false;
}

Consulta::Consulta(unsigned int id, unsigned int idServicio, unsigned int idUsuario) : Registro(id) {
	this->idServicio=idServicio;
	this->idUsuario=idUsuario;
	this->oculta=false;
}

Consulta::~Consulta() {
}

void Consulta::serializar() {
	(*this) << idServicio;
	(*this) << idUsuario;
	(*this) << consulta.texto;
	(*this) << consulta.fecha;
	(*this) << consulta.hora;
	(*this) << respuesta.texto;
	(*this) << respuesta.fecha;
	(*this) << respuesta.hora;
	char estado = (oculta)?'Y':'N';
	(*this) << estado;
}

void Consulta::deserializar() {
	(*this) >> idServicio;
	(*this) >> idUsuario;
	(*this) >> consulta.texto;
	(*this) >> consulta.fecha;
	(*this) >> consulta.hora;
	(*this) >> respuesta.texto;
	(*this) >> respuesta.fecha;
	(*this) >> respuesta.hora;
	char estado;
	(*this) >> estado;
	oculta = (estado == 'Y');
}

/********************************* getters *********************************/

int Consulta::getIdServicio() {
	return idServicio;
}

int Consulta::getIdUsuario() {
	return idUsuario;
}

Publicacion& Consulta::getConstulta() {
	return consulta;
}

Publicacion& Consulta::getRespuesta() {
	return respuesta;
}

bool Consulta::estaOculta() {
	return oculta;
}

/********************************* setters *********************************/

void Consulta::setIdServicio(int idServicio) {
	this->idServicio=idServicio;
}

void Consulta::setIdUsuario(int idUsuario) {
	this->idUsuario=idUsuario;
}

void Consulta::setConsulta(const Publicacion& consulta) {
	this->consulta=consulta;
}

void Consulta::setRespuesta(const Publicacion& respuesta) {
	this->respuesta=respuesta;
}

void Consulta::ocultar(bool estado) {
	this->oculta=estado;
}
